Благодарим на автора за съгласието му да публикуваме тази статия в PCHelp! barut & pgm |
Възможности за сертификатната измама в X.509 |
От: Beco Публикувана на: 7-11-2004 Адрес на статията: http://linux-bg.org/cgi-bin/y/index.pl?page=article&id=advices&key=366581463 |
Възможности за сертификатната измама в X.509Copyright © 2004, Веселин Колев, OpenIntegra Ltd.Това е една статия, която малко или много е посветена на методите за измама, които са възможни в рамките на сертификатния модел X.509 и които са трудно предотвратими технически, доколкото те са базирани на особености, които излизат извън рамките на модела. Статията не е наръчник за измамници, а е по-скоро опит да бъдат накарани издателите на сертификати (или повече известни като удостоверители) да повишат вниманието си в процеса на издаване. Учудващо е как алчността на удостоверителите опорочава доверителната услуга. И за това не е виновен толкова сертификатния модел, колкото самите удостоверители. Също така тази статия трябва да накара обикновените потребители да бъдат внимателни при използването на сертификатните системи. Сигурността на потребителя е и негово задължение. В рамките на сертификатния модел се следва йерархична структура, която представлява пирамида на доверитето. На върха на пирамидата стои един единствен (въховен) удостоверител. Възможно е в йерархията да има още удостоверители, но всички те са подчинени на върховния удостоверител. Всеки, който е удостоверяван в рамките на пирамидата на доверие е директно или индиректно удостоверяван от върховния удостоверител. Индиректното удостоверяване става чрез подудостоверител, но на практика той е удостоверяем от върховния удостоверител и така пак схемата на доверие започва от последния. Всеки публичен ключ има своя сума за проверка, която може да бъде изчислена по някой от известните за това алгоритми (например MD5 и SHA1). Основата на всеки X.509 сертификат е публичния ключ заложен в него. Следователно, ако се знае сумата за проверка на публичния ключ, който е основа на сертификата, по някакъв независим път, то може да се провери дали копието от дадено копие на сертификата е оригинално или е фалшифицирано. Всички браузъри, които поддръжат HTTPS, имат локални хранилища за сертификати на удостоверители. Сертификатите, които се намират там са обект на дискусия. Причината за това е, че производителят на браузъра подава списък със сертификати на удостоверители и така той се превръща в удостоверител на удостоверителите. Учудващо е как огромното болшинство от потребители вярват на производителя на браузъра безрезервно и приемат сертификатите на удостоверителите за истински. Дори не си правят труда да проверят цифровия отпечатък на удостоверителски сертификати, които най-често използват. Това е една невероятно широка база за измама с непредвидими последствия. Проблемът може да стане много по-дълбок и да доведе до непредвидими последствия особено при използването на пиратски софтуер. В световен мащаб операционните системи на Microsoft са обект на нелегитимно (в разрез с лиценза) копиране и инсталиране. Потребителите на нелегитимно инсталираните копия трудно могат да направят проверка на оригиналността на копието на операционната система. Доколкото тя има централизирано хранилище на сертификати, няма никаква гаранция, че сертификатите не могат да бъдат подменени или допълнени с фалшиви такива. Подобни случаи са известни и засягат работата на Internet Exploret в HTTPS среда, както и IPsec услугите (L2TP/IPsec). Използването на софтуер с отворен код не е панацея и при неговото използване трябва да се внимава особено много. Най-използваният браузър в операционни системи с отворен код си остава Mozilla, макар напоследък да се забелязва ускорена миграция към компонентните решения като FireFox. Множество дистрибуции включват този браузър като стандартен пакет и така те включват и хранилището му със сертификати на удостоверители. Доколкото в светът на отворения код дистрибуциите се разпространяват не директно от производителя им, а се предлагат за изтелгяне от различни сървъри в Интернет, то потребителят трябва сам да се увери, че е свалил и инсталирал неподменена дистрибуция. Единственият начин да направи това е да провери електронният подпис извършен от производителя върху файловете на дистрибуцията. Тук изникват ведната два проблема:
Един много опасен навик на потребителя е да поставя в хранилището за удостоверителски сертификати на браузъра такива с непроверен произход само и само за да се отърве от съобщенията, които браузъра му подава при посещение на страница със сертификат, чиито удостовеител е неизвестен. Невероятно опасно е да се следват инструкции от типа "за да не виждате предупреждението за използване на неразпознат сертификат, моля инсталирайте сертификата чрез следването на следната хипервръзка". Опасността идва от това, че не се знае кой наистина е издал удостоверителския сертификат. Както ще бъде показано по-долу, това е една от техниките за измама. Перфектната схема на удостоверяване на сертификат в сертификатния модел X.509 може да се опише накратко чрез следните последователни стъпки:
Тук ще опишем удостоверители, които може би трябва да бъдат определяни като престъпни, но за да смекчим тона, ще ги определим като небрежни или несъвестни. Смисълът на тази класификация е, че с цел да получат парите на клиента, те издават безогледно сертификати, без надлежна проверка на лицето или организацията, на която ще бъде издаден сертификат. Един несъвестен удостоверител, който не се постарае да направи пълна проверка на удостоверяваното лице или организация, може да предизвика дублиране на сертификат и така да спомогне за успешна реализация на IP измама или измама на база потребителско удостоверяване. За голямо съжаление повечето удостоверители гледат на предлаганата от тях услуга като на едно задоволяване на потребителското търсене и правят компромиси с цел по-големи парични приходи. Това отваря невероятно голяма дупка в сигурността на сертификатния модел, която не може да бъде запушена с никакви технически средства, защото тя нарушава принципа на вярното първично удостоверяване, без който принцип нито един сертификатен модел не може да съществува. Подхвърлените сертификати са смъртоносната отрова за сертификатния модел X.509. За жалост те са често използван похват при атака над различни услуги, най-често разплащания. Целта, с която те се използват, е да се декларира пред баурзъра или друг софтуер използващ X.509 сертификати, мним удостоверител. Истината е, че подобна измама минава и пред добре обучени в сертификатния модел потребители. Учудващо е, че има и измамени администратори, чиято задача е преди всичко да внимават какво инсталират. Един от сценариите за подхвърляне на сертификат вече бе описан по-горе (виж 2). Друг сценарий е сертификат да бъде поставен от друг човек, имащ достъп до компютъра на жертвата или жертвата да импортира този серфикат по невнимание (последното едва ли е използваемо за атака). Истината е, че големият ефект от подхвърлен сертификат най-добре се вижда при масовото му подхвърляне на потребителите така, че да се знае, че над определен процент от тях са го поставили в сертификатните си хранилища. Например, много е лесно да направиш страница за безплатно изпращане на SMS и да обясниш на всеки новодошъл в тази страница, че за да може да използва пълната функционалност на сайта и за защита на данните, той трябва да използва HTTPS и за целта трябва да постави в хранилището за сертификати на браузъра си удостоверителски сертификат като следва някаква хипервръзка. Оттук нататък може да се следи колко потребители са изтеглили сертификата и да се направи оценка на заразяването на хранилищата. Ако атаката е обмислена добре, извършващите я могат да изчакат определен период от време за да са сигурни, че имат гарантиран ефект (ще разберат за това като видят, че броят HTTPS сесии е сравнително постоянен, а изтеглянията на сертификата са непропорционално малко). Тогава те могат да пристъпят към атака. При една добре организирана измама те могат да произведат сертификат на сървър, който да дублира реално съществуващ сървър за електронно разплащане. Последиците от това са ясни на всички. Сертификатният модел X.509 позволява използването на подудостоверители. За да може да има подудостоверители, техния X.509 сертификат, трябва да е подписан от върховния удостоверител. Така се създава верига на доверие. Върховният удостоверител вярва на подудостоверителя и го упълномощява да удостоверява лица, организции и др. като им издава сертификати. Всеки сертификат издаден от подудостоверител всъщност е облечен в доверието на върховния удостоверител. Истината е, че моделът X.509 не може адекватно да отчита наличието на увеличаване на верояността за пробив в удостоверителната система по протежение на веригата. Възможно е (има данни за такива измами) някой от подудостоверителите да издаде поради грешка подудостоверителски сертификат на измамник и той да генерира дублиращи сертификати и да участва в измами основани на дублиране на услуга чрез IP измама или дублиране на потребителска идентификация. |
Авторите на сайта, както и техните
сътрудници запазват авторските права върху собствените си материали
публикувани тук, но те са copyleft т.е. могат свободно да бъдат копирани и
разпространявани с изискването изрично да се упоменава името на автора,
както и да се публикува на видно място, че те са взети от оригиналния им
URL-адрес на този сървър (http://linux-bg.org). Авторските права на
преводните материали принадлежат на техните автори. Ако с публикуването
тук на някакъв материал неволно са нарушени нечии права - след
констатирането на този факт материалът ще бъде свален. All trademarks, logos and copyrights
mentioned on this site are the property of their respective owners.
|